Android 学习笔记-知识点(二)

  • 以下的一些是知识点是平时在开发的过程中遇到的一些知识点,总结起来,目的是提高自己的水平,由于本人开发时间不长,有些知识点可能过于的简单,但是好记性不如烂笔头,如果有错误的地方请指正,谢谢。

EditText设置打开的时候默认的输入状态
默认中文打开输入中文状态和英文输入状态

EditText.png

在代码中,inputtype的属性必须设置在singleline的后面


/**
 * 打卡软键盘
 *
 * @param mEditText 输入框
 * @param mContext  上下文
 */
public static void openKeybord(EditText mEditText, Context mContext) {
    InputMethodManager imm = (InputMethodManager) mContext
            .getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);
    imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
            InputMethodManager.HIDE_IMPLICIT_ONLY);
}

/**
 * 关闭软键盘
 *
 * @param activity
 */
public static void closeKeybord(Activity activity) {
    final View v = activity.getWindow().peekDecorView();
    if (v != null && v.getWindowToken() != null) {
        InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
    }
}

监听输入法的内容变化是edittext.addTextChangedListener
监听输入法的回车按钮是edittext.setOnKeyListener,判断的条件为
其中keycode可以是软键盘上的任何键
editText.setOnKeyListener(new View.OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_UP) {
            //点击回车时并弹起
            return true;
        }
        return false;
    }
});

Context实例.png

Activity之间传递数据的几种方式.png

关于VIew id的问题

view id.png
这两个方法的实现可参考,并且要保存状态的View要有唯一的id而且在View初始化的 
时候要调用setSaveEnabled(true);才能在New view 创建一个实例的时候调用            
onSavedStateInstance 的方法
Paste_Image.png

如何判断Activity是销毁的
If(acitivity== null||activity.isDestroyed()||activity.isFinishing()){
//google工程师判断Activity是否是销毁的多了一个ondestroyed的判断
}

Service的onCreate是在主线程中调用的,耗时操作会阻塞UI,处理方法有多种,可以使用线程,handler,intentService

android:animateLayoutChanges="true"
在父View设置这样一个属性,子View 设置Gone和Visible会有一个动画效果

在RecyclerView和ListView中设置android:clipToPadding可以只设置第一项距离项端的距离
即android:clicpToPadding = “false” android:paddingTop = “10dp”

ArgbEvaluate用于计算不同颜色之间的插值,有一个平滑的过度过程 

Android 可能由于服务器问题闪退,三闪闪退以上可能是由于数据已经被存放起来,需要将数据清除掉

 去除系统闪退的弹出框,其中UnCaughExceptionHandler中不能打开一个新的线程,诸如错误上报的问题
上传服务器的问题只能采用同步的方式,但是效果可能会比较的慢,但是可以将错误的信息保存到Sp中
UnCaughExceptionHandler.png

EditTex的setSelection是设置edittext光标的位置

RandomAccessFile使用这个类可以在指定的位置添加一些内容。

我们需要谨记的原则就是:不要在任何非UI线程里面去持有UI对象的引用。

Runtime.getRuntime().availableProcesser()方法并不可靠,他返回的值并不是真实的CPU核心数,因为CPU
会在某些情况下选择对部分核心进行睡眠处理,在这种情况下,返回的数量就只能是激活的CPU核心数。

BroadCast和localBroadManager的区别.png

线程优先级.png
可以为线程设置优先级
设置优先级.png

有必要去看一下的Android 源码.png

多渠道打包
就是发布到不同渠道的包,比如你看很多小米商店下载的app,启动页会有小米商城的logo。

Java8 ::用来引用的是构造方法和静态的方法
Java8的Effectively final 特性.png

按键或触摸事件5s,广播处理10秒,服务20秒可能会出现anr

Manifest中设置了screenOrientation在Activity中设置onConfituration的方法不会被调用

限制输入的时候可以使用注解的方式,用枚举的本质还是创建对象
作用注解的方式来代替枚举.png

Application注意事项.png

画笔设置设置阴影
paint.setShadowLayer(4, 2, 2, 0x80000000);
***

Handler.post(r) 实现是工作在ui线程,这只是执行了runnable里面的run方法,并没有执行start的方法。

Handler.png
HandlerThread.png

IntentService.png

手机的开发者选项里面的(窗口动画绽放,过渡动画缩放,动画程序时长缩放)分别对应以下的三个动画绽放
"Window animation scale",作用于非Activity窗口。比如,Dialog、toast、自定义浮窗、输入法等窗口都是该选项的作用目标
"Transition animation scale",作用于Activity窗口。Activity窗口是该选项作用目标
"Animator duration scale",作用于View。比如View属性动画、水波纹背景动画等

如果包名相同的情况下,可以采用这种方式来写
SupportLiVersion.png

 ViewStub的使用方法
<ViewStub
    android:id="@+id/vsHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:inflatedId="@+id/header"
    android:layout="@layout/header" />

其中inflatedId是在获取到ViewStub中实际View的id
    stub = (ViewStub) findViewById(R.id.vsHeader);
    View inflated = stub.inflate();
    View view = inflated.findViewById(R.id.header);
    inflated = view //true
    所以拿inflated.findViewById()和view.findViewById()的结果是一样的
代码中也可以这种方式添加
    ViewStub stub = new ViewStub(this);
    stub.setLayoutResource(R.layout.header);
    stub.inflate(); 

  把底部的EditText弹出在软键盘的上方
<activity android:windowSoftInputMode="adjustPan">

不能在application中做一些缓存数据的操作,如果当前app从后能切到前台的过程这前,系统可能会对application中的数据做一些清理的工作,导置在切到前台的过程中导致应用程序崩溃。

Android 数据库升级的过程中会将数据库中的数据信息清除掉,升级过后能会导置应用程序崩溃,解决的办法是升级的时候做数据的保存,在拷贝数据到高的版本中

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,100评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,569评论 25 707
  • 以下知识点为常用且不熟知的一些知识点 1.TextView 1.1 shapeDrawable知识点 1.2 dr...
    侯蛋蛋_阅读 3,311评论 0 5
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,209评论 0 17
  • 胡杨 今天看王祖贤主演的电影《美丽上海》,片中王祖贤兄妹四个,却没有人有时间照看妈妈,直到母亲受伤入院,孩子们都像...
    冰山二三事阅读 194评论 0 0